package com.hsgene.order.domain;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.hsgene.common.util.date.TimeJsonDeserializer;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 商城总订单
 *
 * @author wangbing
 * @version 1.0, 2018/8/3
 */
@Deprecated
public class OrderMall implements Serializable {

    private static final long serialVersionUID = -3250579444980573454L;
    /**
     * 总订单id
     */
    private String id;

    /**
     * 用户id
     */
    private String userId;

    /**
     * 订单来源：APP、WEB、小程序...
     */
    private String from;

    /**
     * 订单总金额
     */
    private BigDecimal totalAmount;

    /**
     * 订单优惠总金额
     */
    private BigDecimal totalDiscountsAmount;

    /**
     * 订单实际待支付金额
     */
    private BigDecimal totalRealAmount;

    /**
     * 订单已支付金额
     */
    private BigDecimal paidAmount;

    /**
     * 支付方式
     */
    private String payType;

    /**
     * 投递类型-投递时间段选择
     */
    private String deliveryType;

    /**
     * 材料申请编号（耗材物流寄送信息由耗材模块管理）
     */
    private String materialApplyNo;

    /**
     * 省级id
     */
    private Long province;

    /**
     * 市级id
     */
    private Long city;

    /**
     * 区县级id
     */
    private Long county;

    /**
     * 详细地址
     */
    private String address;

    /**
     * 收货人姓名
     */
    private String consigneeName;

    /**
     * 收货人电话
     */
    private String consigneePhone;

    /**
     * 是否需要开具发票
     */
    private Boolean needInvoice;

    /**
     * 是否有效
     */
    private Boolean available;

    /**
     * 截止日期，时间戳
     */
    private Long deadline;

    /**
     * 订单状态
     */
    private String status;

    /**
     * 创建时间
     */
    @JsonDeserialize(using = TimeJsonDeserializer.class)
    private Date createTime;

    /**
     * 更新时间
     */
    @JsonDeserialize(using = TimeJsonDeserializer.class)
    private Date updateTime;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getFrom() {
        return from;
    }

    public void setFrom(String from) {
        this.from = from;
    }

    public BigDecimal getTotalAmount() {
        return totalAmount;
    }

    public void setTotalAmount(BigDecimal totalAmount) {
        this.totalAmount = totalAmount;
    }

    public BigDecimal getTotalDiscountsAmount() {
        return totalDiscountsAmount;
    }

    public void setTotalDiscountsAmount(BigDecimal totalDiscountsAmount) {
        this.totalDiscountsAmount = totalDiscountsAmount;
    }

    public BigDecimal getTotalRealAmount() {
        return totalRealAmount;
    }

    public void setTotalRealAmount(BigDecimal totalRealAmount) {
        this.totalRealAmount = totalRealAmount;
    }

    public BigDecimal getPaidAmount() {
        return paidAmount;
    }

    public void setPaidAmount(BigDecimal paidAmount) {
        this.paidAmount = paidAmount;
    }

    public String getPayType() {
        return payType;
    }

    public void setPayType(String payType) {
        this.payType = payType;
    }

    public String getDeliveryType() {
        return deliveryType;
    }

    public void setDeliveryType(String deliveryType) {
        this.deliveryType = deliveryType;
    }

    public String getMaterialApplyNo() {
        return materialApplyNo;
    }

    public void setMaterialApplyNo(String materialApplyNo) {
        this.materialApplyNo = materialApplyNo;
    }

    public Long getProvince() {
        return province;
    }

    public void setProvince(Long province) {
        this.province = province;
    }

    public Long getCity() {
        return city;
    }

    public void setCity(Long city) {
        this.city = city;
    }

    public Long getCounty() {
        return county;
    }

    public void setCounty(Long county) {
        this.county = county;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getConsigneeName() {
        return consigneeName;
    }

    public void setConsigneeName(String consigneeName) {
        this.consigneeName = consigneeName;
    }

    public String getConsigneePhone() {
        return consigneePhone;
    }

    public void setConsigneePhone(String consigneePhone) {
        this.consigneePhone = consigneePhone;
    }

    public Boolean getNeedInvoice() {
        return needInvoice;
    }

    public void setNeedInvoice(Boolean needInvoice) {
        this.needInvoice = needInvoice;
    }

    public Boolean getAvailable() {
        return available;
    }

    public void setAvailable(Boolean available) {
        this.available = available;
    }

    public Long getDeadline() {
        return deadline;
    }

    public void setDeadline(Long deadline) {
        this.deadline = deadline;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }
}
